This notebook documents COVID-19 related datasets for further research on COVID-19 response and medical systems.

library(tidyverse)
Registered S3 method overwritten by 'dplyr':
  method           from
  print.rowwise_df     
Registered S3 methods overwritten by 'dbplyr':
  method         from
  print.tbl_lazy     
  print.tbl_sql      
── Attaching packages ───────────────────────────────── tidyverse 1.3.0 ──
✓ ggplot2 3.3.0     ✓ purrr   0.3.4
✓ tibble  3.0.1     ✓ dplyr   0.8.5
✓ tidyr   1.0.2     ✓ stringr 1.4.0
✓ readr   1.3.1     ✓ forcats 0.5.0
── Conflicts ──────────────────────────────────── tidyverse_conflicts() ──
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()
library(xlsx)

Our World in Data

Our World in Data on COVID-19 as of 5/2/2020. Visualizations are available in the link in the citation.

Max Roser, Hannah Ritchie, Esteban Ortiz-Ospina and Joe Hasell (2020) - “Coronavirus Pandemic (COVID-19)”. Published online at OurWorldInData.org. Retrieved from: ‘https://ourworldindata.org/coronavirus’ [Online Resource]

owidOxford <- read_csv("data/owid-covid-data.csv")
Parsed with column specification:
cols(
  iso_code = col_character(),
  location = col_character(),
  date = col_date(format = ""),
  total_cases = col_double(),
  new_cases = col_double(),
  total_deaths = col_double(),
  new_deaths = col_double(),
  total_cases_per_million = col_double(),
  new_cases_per_million = col_double(),
  total_deaths_per_million = col_double(),
  new_deaths_per_million = col_double(),
  total_tests = col_double(),
  new_tests = col_double(),
  total_tests_per_thousand = col_double(),
  new_tests_per_thousand = col_double(),
  tests_units = col_character()
)
owidOxford
glimpse(owidOxford)
Rows: 14,711
Columns: 16
$ iso_code                 <chr> "ABW", "ABW", "ABW", "ABW", "ABW", "AB…
$ location                 <chr> "Aruba", "Aruba", "Aruba", "Aruba", "A…
$ date                     <date> 2020-03-13, 2020-03-20, 2020-03-24, 2…
$ total_cases              <dbl> 2, 4, 12, 17, 19, 28, 28, 28, 50, 55, …
$ new_cases                <dbl> 2, 2, 8, 5, 2, 9, 0, 0, 22, 5, 0, 5, 2…
$ total_deaths             <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ new_deaths               <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ total_cases_per_million  <dbl> 18.733, 37.465, 112.395, 159.227, 177.…
$ new_cases_per_million    <dbl> 18.733, 18.733, 74.930, 46.831, 18.733…
$ total_deaths_per_million <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ new_deaths_per_million   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ total_tests              <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ new_tests                <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ total_tests_per_thousand <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ new_tests_per_thousand   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ tests_units              <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…

JHU CSSE

This section imports the dataset from Johns Hopkins Center for Systems Science and Engineering (https://github.com/CSSEGISandData/COVID-19) as of 4/30/2020. This is the link to JHU’s COVID-19 interactive dashboard:https://coronavirus.jhu.edu

The data sources include the World Health Organization, the U.S. Centers for Disease Control and Prevention, the European Center for Disease Prevention and Control, the National Health Commission of the People’s Republic of China, 1point3acres, Worldometers.info, BNO, state and national government health departments, local media reports, and the DXY, one of the world’s largest online communities for physicians, health care professionals, pharmacies and facilities.

This paper (https://www.nature.com/articles/s41598-019-38665-w), authored by JHU researchers, constructs a mathematical model that integrates both epidemic outbreaks and outbreak control into the framework, with a primary focus on border control, i.e. passenger screening upon arrival at the airports. The main finding is that implementing control measures according to the network-driven strategy is the most effective at the initial stage of the outbreak. Network-driven strategy means that airports within the epidimeological infection range are identified and have control measures implemented. Policy-makers can improve resource allocation in a cost-effective manner by considering the research finding. The research also shows that the effectiveness of border control decreases as the outbreak continues, and other measures are not included in the framework. What works better as the outbreak unfolds is not answered in this research.

jhuGlobalC

jhuGlobalC (as a variable name in this notebook, not the original dataset name) is JHU CSSE’s dataset on global confirmed COVID-19 cases. As shown below, it records the increases in number of cases daily since 1/22/2020 in states and provinces across countries, as well as the geographic locations of regions for mapping convenience.

jhuGlobalC <- read.csv("data/COVID-19-master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv")
jhuGlobalC
glimpse(jhuGlobalC)
Rows: 264
Columns: 103
$ Province.State <fct> , , , , , , , , Australian Capital Territory, Ne…
$ Country.Region <fct> Afghanistan, Albania, Algeria, Andorra, Angola, …
$ Lat            <dbl> 33.0000, 41.1533, 28.0339, 42.5063, -11.2027, 17…
$ Long           <dbl> 65.0000, 20.1683, 1.6596, 1.5218, 17.8739, -61.7…
$ X1.22.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.23.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.24.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.25.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.26.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 0, …
$ X1.27.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, …
$ X1.28.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, …
$ X1.29.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, …
$ X1.30.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 3, 0, 0, 2, 0, …
$ X1.31.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 2, 0, 0, 3, 0, …
$ X2.1.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 3, 1, 0, 4, 0, …
$ X2.2.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 2, 2, 0, 4, 0, …
$ X2.3.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 2, 2, 0, 4, 0, …
$ X2.4.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 3, 2, 0, 4, 0, …
$ X2.5.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 3, 2, 0, 4, 0, …
$ X2.6.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 4, 2, 0, 4, 0, …
$ X2.7.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.8.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.9.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.10.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.11.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.12.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.13.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.14.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.15.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.16.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.17.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.18.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.19.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.20.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.21.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.22.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.23.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.24.20       <int> 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.25.20       <int> 1, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.26.20       <int> 1, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.27.20       <int> 1, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.28.20       <int> 1, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 5, 2, 0, 4, 0, …
$ X2.29.20       <int> 1, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 9, 3, 0, 7, 2, …
$ X3.1.20        <int> 1, 0, 1, 0, 0, 0, 0, 1, 0, 6, 0, 9, 3, 0, 7, 2, …
$ X3.2.20        <int> 1, 0, 3, 1, 0, 0, 0, 1, 0, 6, 0, 9, 3, 1, 9, 2, …
$ X3.3.20        <int> 1, 0, 5, 1, 0, 0, 1, 1, 0, 13, 0, 11, 3, 1, 9, 2…
$ X3.4.20        <int> 1, 0, 12, 1, 0, 0, 1, 1, 0, 22, 1, 11, 5, 1, 10,…
$ X3.5.20        <int> 1, 0, 12, 1, 0, 0, 1, 1, 0, 22, 1, 13, 5, 1, 10,…
$ X3.6.20        <int> 1, 0, 17, 1, 0, 0, 2, 1, 0, 26, 0, 13, 7, 1, 10,…
$ X3.7.20        <int> 1, 0, 17, 1, 0, 0, 8, 1, 0, 28, 0, 13, 7, 1, 11,…
$ X3.8.20        <int> 4, 0, 19, 1, 0, 0, 12, 1, 0, 38, 0, 15, 7, 2, 11…
$ X3.9.20        <int> 4, 2, 20, 1, 0, 0, 12, 1, 0, 48, 0, 15, 7, 2, 15…
$ X3.10.20       <int> 5, 10, 20, 1, 0, 0, 17, 1, 0, 55, 1, 18, 7, 2, 1…
$ X3.11.20       <int> 7, 12, 20, 1, 0, 0, 19, 1, 0, 65, 1, 20, 9, 3, 2…
$ X3.12.20       <int> 7, 23, 24, 1, 0, 0, 19, 4, 0, 65, 1, 20, 9, 3, 2…
$ X3.13.20       <int> 7, 33, 26, 1, 0, 1, 31, 8, 1, 92, 1, 35, 16, 5, …
$ X3.14.20       <int> 11, 38, 37, 1, 0, 1, 34, 18, 1, 112, 1, 46, 19, …
$ X3.15.20       <int> 16, 42, 48, 1, 0, 1, 45, 26, 1, 134, 1, 61, 20, …
$ X3.16.20       <int> 21, 51, 54, 2, 0, 1, 56, 52, 2, 171, 1, 68, 29, …
$ X3.17.20       <int> 22, 55, 60, 39, 0, 1, 68, 78, 2, 210, 1, 78, 29,…
$ X3.18.20       <int> 22, 59, 74, 39, 0, 1, 79, 84, 3, 267, 1, 94, 37,…
$ X3.19.20       <int> 22, 64, 87, 53, 0, 1, 97, 115, 4, 307, 1, 144, 4…
$ X3.20.20       <int> 24, 70, 90, 75, 1, 1, 128, 136, 6, 353, 3, 184, …
$ X3.21.20       <int> 24, 76, 139, 88, 2, 1, 158, 160, 9, 436, 3, 221,…
$ X3.22.20       <int> 40, 89, 201, 113, 2, 1, 266, 194, 19, 669, 5, 25…
$ X3.23.20       <int> 40, 104, 230, 133, 3, 3, 301, 235, 32, 669, 5, 3…
$ X3.24.20       <int> 74, 123, 264, 164, 3, 3, 387, 249, 39, 818, 6, 3…
$ X3.25.20       <int> 84, 146, 302, 188, 3, 3, 387, 265, 39, 1029, 6, …
$ X3.26.20       <int> 94, 174, 367, 224, 4, 7, 502, 290, 53, 1219, 12,…
$ X3.27.20       <int> 110, 186, 409, 267, 4, 7, 589, 329, 62, 1405, 12…
$ X3.28.20       <int> 110, 197, 454, 308, 5, 7, 690, 407, 71, 1617, 15…
$ X3.29.20       <int> 120, 212, 511, 334, 7, 7, 745, 424, 77, 1791, 15…
$ X3.30.20       <int> 170, 223, 584, 370, 7, 7, 820, 482, 78, 2032, 15…
$ X3.31.20       <int> 174, 243, 716, 376, 7, 7, 1054, 532, 80, 2032, 1…
$ X4.1.20        <int> 237, 259, 847, 390, 8, 7, 1054, 571, 84, 2182, 1…
$ X4.2.20        <int> 273, 277, 986, 428, 8, 9, 1133, 663, 87, 2298, 2…
$ X4.3.20        <int> 281, 304, 1171, 439, 8, 15, 1265, 736, 91, 2389,…
$ X4.4.20        <int> 299, 333, 1251, 466, 10, 15, 1451, 770, 93, 2493…
$ X4.5.20        <int> 349, 361, 1320, 501, 14, 15, 1451, 822, 96, 2580…
$ X4.6.20        <int> 367, 377, 1423, 525, 16, 15, 1554, 833, 96, 2637…
$ X4.7.20        <int> 423, 383, 1468, 545, 17, 19, 1628, 853, 96, 2686…
$ X4.8.20        <int> 444, 400, 1572, 564, 19, 19, 1715, 881, 99, 2734…
$ X4.9.20        <int> 484, 409, 1666, 583, 19, 19, 1795, 921, 100, 277…
$ X4.10.20       <int> 521, 416, 1761, 601, 19, 19, 1975, 937, 103, 282…
$ X4.11.20       <int> 555, 433, 1825, 601, 19, 21, 1975, 967, 103, 285…
$ X4.12.20       <int> 607, 446, 1914, 638, 19, 21, 2142, 1013, 103, 28…
$ X4.13.20       <int> 665, 467, 1983, 646, 19, 23, 2208, 1039, 102, 28…
$ X4.14.20       <int> 714, 475, 2070, 659, 19, 23, 2277, 1067, 103, 28…
$ X4.15.20       <int> 784, 494, 2160, 673, 19, 23, 2443, 1111, 103, 28…
$ X4.16.20       <int> 840, 518, 2268, 673, 19, 23, 2571, 1159, 103, 28…
$ X4.17.20       <int> 906, 539, 2418, 696, 19, 23, 2669, 1201, 103, 29…
$ X4.18.20       <int> 933, 548, 2534, 704, 24, 23, 2758, 1248, 103, 29…
$ X4.19.20       <int> 996, 562, 2629, 713, 24, 23, 2839, 1291, 103, 29…
$ X4.20.20       <int> 1026, 584, 2718, 717, 24, 23, 2941, 1339, 104, 2…
$ X4.21.20       <int> 1092, 609, 2811, 717, 24, 23, 3031, 1401, 104, 2…
$ X4.22.20       <int> 1176, 634, 2910, 723, 25, 24, 3144, 1473, 104, 2…
$ X4.23.20       <int> 1279, 663, 3007, 723, 25, 24, 3435, 1523, 104, 2…
$ X4.24.20       <int> 1351, 678, 3127, 731, 25, 24, 3607, 1596, 105, 2…
$ X4.25.20       <int> 1463, 712, 3256, 738, 25, 24, 3780, 1677, 106, 2…
$ X4.26.20       <int> 1531, 726, 3382, 738, 26, 24, 3892, 1746, 106, 3…
$ X4.27.20       <int> 1703, 736, 3517, 743, 27, 24, 4003, 1808, 106, 3…
$ X4.28.20       <int> 1828, 750, 3649, 743, 27, 24, 4127, 1867, 106, 3…
$ X4.29.20       <int> 1939, 766, 3848, 743, 27, 24, 4285, 1932, 106, 3…

jhuUSC

The following data is on COVID-19 confirmed cases in the U.S.

jhuUSC <- read.csv("data/COVID-19-master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_US.csv")
jhuUSC
glimpse(jhuUSC)
Rows: 3,262
Columns: 110
$ UID            <dbl> 16, 316, 580, 630, 850, 84001001, 84001003, 8400…
$ iso2           <fct> AS, GU, MP, PR, VI, US, US, US, US, US, US, US, …
$ iso3           <fct> ASM, GUM, MNP, PRI, VIR, USA, USA, USA, USA, USA…
$ code3          <int> 16, 316, 580, 630, 850, 840, 840, 840, 840, 840,…
$ FIPS           <dbl> 60, 66, 69, 72, 78, 1001, 1003, 1005, 1007, 1009…
$ Admin2         <fct> , , , , , Autauga, Baldwin, Barbour, Bibb, Bloun…
$ Province_State <fct> American Samoa, Guam, Northern Mariana Islands, …
$ Country_Region <fct> US, US, US, US, US, US, US, US, US, US, US, US, …
$ Lat            <dbl> -14.27100, 13.44430, 15.09790, 18.22080, 18.3358…
$ Long_          <dbl> -170.13200, 144.79370, 145.67390, -66.59010, -64…
$ Combined_Key   <fct> "American Samoa, US", "Guam, US", "Northern Mari…
$ X1.22.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.23.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.24.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.25.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.26.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.27.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.28.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.29.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.30.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X1.31.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.1.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.2.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.3.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.4.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.5.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.6.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.7.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.8.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.9.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.10.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.11.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.12.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.13.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.14.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.15.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.16.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.17.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.18.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.19.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.20.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.21.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.22.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.23.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.24.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.25.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.26.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.27.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.28.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X2.29.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.1.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.2.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.3.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.4.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.5.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.6.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.7.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.8.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.9.20        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.10.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.11.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.12.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.13.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.14.20       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.15.20       <int> 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.16.20       <int> 0, 3, 0, 5, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.17.20       <int> 0, 3, 0, 5, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ X3.18.20       <int> 0, 5, 0, 5, 2, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, …
$ X3.19.20       <int> 0, 12, 0, 5, 3, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0,…
$ X3.20.20       <int> 0, 14, 0, 14, 3, 0, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0…
$ X3.21.20       <int> 0, 15, 0, 21, 6, 0, 2, 0, 0, 0, 0, 0, 1, 1, 0, 0…
$ X3.22.20       <int> 0, 27, 0, 23, 6, 0, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0…
$ X3.23.20       <int> 0, 29, 0, 31, 7, 0, 3, 0, 0, 0, 0, 0, 2, 2, 0, 0…
$ X3.24.20       <int> 0, 32, 0, 39, 17, 1, 4, 0, 0, 0, 0, 0, 2, 5, 0, …
$ X3.25.20       <int> 0, 37, 0, 51, 17, 4, 4, 0, 0, 1, 0, 1, 2, 10, 1,…
$ X3.26.20       <int> 0, 45, 0, 64, 17, 6, 5, 0, 0, 2, 2, 1, 2, 13, 1,…
$ X3.27.20       <int> 0, 51, 0, 79, 19, 6, 5, 0, 0, 4, 2, 1, 3, 13, 1,…
$ X3.28.20       <int> 0, 55, 0, 100, 22, 6, 10, 0, 0, 5, 3, 1, 3, 17, …
$ X3.29.20       <int> 0, 56, 0, 127, 23, 6, 15, 0, 0, 5, 3, 1, 3, 27, …
$ X3.30.20       <int> 0, 58, 0, 174, 30, 6, 18, 0, 2, 5, 3, 1, 8, 33, …
$ X3.31.20       <int> 0, 69, 2, 239, 30, 7, 19, 0, 3, 5, 3, 1, 9, 36, …
$ X4.1.20        <int> 0, 77, 6, 286, 30, 8, 20, 0, 3, 5, 3, 1, 11, 42,…
$ X4.2.20        <int> 0, 82, 6, 316, 30, 10, 24, 0, 4, 6, 2, 1, 12, 67…
$ X4.3.20        <int> 0, 84, 8, 316, 37, 12, 28, 1, 4, 9, 2, 1, 18, 80…
$ X4.4.20        <int> 0, 93, 8, 452, 40, 12, 29, 2, 4, 10, 2, 1, 21, 8…
$ X4.5.20        <int> 0, 112, 8, 475, 42, 12, 29, 2, 5, 10, 2, 1, 23, …
$ X4.6.20        <int> 0, 113, 8, 513, 43, 12, 38, 2, 7, 10, 2, 1, 34, …
$ X4.7.20        <int> 0, 121, 8, 573, 43, 12, 42, 3, 8, 10, 2, 2, 41, …
$ X4.8.20        <int> 0, 121, 11, 620, 45, 12, 44, 3, 9, 10, 3, 2, 49,…
$ X4.9.20        <int> 0, 128, 11, 683, 45, 15, 56, 4, 9, 11, 3, 3, 53,…
$ X4.10.20       <int> 0, 130, 11, 725, 50, 17, 59, 9, 11, 12, 4, 3, 54…
$ X4.11.20       <int> 0, 133, 11, 788, 51, 19, 66, 9, 13, 12, 4, 6, 57…
$ X4.12.20       <int> 0, 133, 11, 897, 51, 19, 71, 10, 16, 13, 4, 7, 5…
$ X4.13.20       <int> 0, 133, 11, 903, 51, 19, 72, 10, 17, 14, 5, 8, 6…
$ X4.14.20       <int> 0, 133, 11, 923, 51, 23, 87, 11, 17, 16, 8, 8, 6…
$ X4.15.20       <int> 0, 135, 13, 974, 51, 24, 91, 12, 18, 17, 8, 9, 6…
$ X4.16.20       <int> 0, 135, 13, 1043, 51, 26, 101, 14, 22, 18, 8, 11…
$ X4.17.20       <int> 0, 136, 13, 1068, 51, 26, 103, 15, 24, 20, 8, 16…
$ X4.18.20       <int> 0, 136, 14, 1118, 53, 25, 109, 18, 26, 20, 9, 13…
$ X4.19.20       <int> 0, 136, 14, 1213, 53, 26, 112, 20, 28, 21, 9, 14…
$ X4.20.20       <int> 0, 136, 14, 1252, 53, 28, 117, 22, 32, 22, 11, 1…
$ X4.21.20       <int> 0, 136, 14, 1298, 53, 30, 123, 28, 32, 26, 11, 1…
$ X4.22.20       <int> 0, 136, 14, 1252, 54, 32, 132, 29, 34, 29, 11, 1…
$ X4.23.20       <int> 0, 139, 14, 1416, 54, 33, 143, 30, 33, 31, 12, 1…
$ X4.24.20       <int> 0, 141, 14, 1276, 54, 36, 147, 32, 34, 31, 12, 2…
$ X4.25.20       <int> 0, 141, 14, 1307, 55, 36, 147, 32, 34, 31, 12, 2…
$ X4.26.20       <int> 0, 141, 14, 1371, 57, 37, 161, 33, 38, 34, 12, 3…
$ X4.27.20       <int> 0, 141, 14, 1389, 57, 39, 168, 35, 42, 34, 12, 3…
$ X4.28.20       <int> 0, 141, 14, 1400, 57, 40, 171, 37, 42, 34, 12, 4…
$ X4.29.20       <int> 0, 141, 14, 1433, 57, 43, 174, 37, 42, 36, 12, 5…

COVID Tracking Project

U.S. testing rate and hospitalization rate, cited by JHU, is from the COVID Tracking Project (https://covidtracking.com). COVID Tracking Project’s information comes from state health authorities. Basic testing data is relatively complete now, yet patient outcomes data (hospitalizations, ICU status, ventilation status, deaths, and recoveries) is less consistent.

Notes on visualization: 1. Encode a per capita count for choropleth map. If you want to show absolute numbers, usee a symbol map. 2. Use an absolute measure for death counts.

COVIDTrackingHistoricS51 documents U.S. state historic testing and hospitalization data as of 5/1/2020.

COVIDTrackingHistoricS51 <- read_csv("data/COVIDTracking/daily.csv")
Parsed with column specification:
cols(
  .default = col_double(),
  state = col_character(),
  hash = col_character(),
  dateChecked = col_datetime(format = ""),
  fips = col_character()
)
See spec(...) for full column specifications.
COVIDTrackingHistoricS51
glimpse(COVIDTrackingHistoricS51)
Rows: 3,209
Columns: 25
$ date                     <dbl> 20200501, 20200501, 20200501, 20200501…
$ state                    <chr> "AK", "AL", "AR", "AS", "AZ", "CA", "C…
$ positive                 <dbl> 364, 7158, 3321, 0, 7962, 50442, 15284…
$ negative                 <dbl> 19961, 84775, 46355, 57, 66917, 604543…
$ pending                  <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ hospitalizedCurrently    <dbl> 25, NA, 95, NA, 709, 4706, 959, 1592, …
$ hospitalizedCumulative   <dbl> NA, 1008, 414, NA, 1203, NA, 2697, 775…
$ inIcuCurrently           <dbl> NA, NA, NA, NA, 311, 1434, NA, NA, NA,…
$ inIcuCumulative          <dbl> NA, 335, NA, NA, NA, NA, NA, NA, NA, N…
$ onVentilatorCurrently    <dbl> NA, NA, 23, NA, 187, NA, NA, NA, NA, N…
$ onVentilatorCumulative   <dbl> NA, 195, 85, NA, NA, NA, NA, NA, NA, N…
$ recovered                <dbl> 254, NA, 1973, NA, 1528, NA, 2486, 434…
$ hash                     <chr> "866cdb1cdd68e3d57576eb803cc5d7cf5be70…
$ dateChecked              <dttm> 2020-05-01 20:00:00, 2020-05-01 20:00…
$ death                    <dbl> 9, 279, 64, 0, 330, 2073, 777, 2339, 2…
$ hospitalized             <dbl> NA, 1008, 414, NA, 1203, NA, 2697, 775…
$ total                    <dbl> 20325, 91933, 49676, 57, 74879, 654985…
$ totalTestResults         <dbl> 20325, 91933, 49676, 57, 74879, 654985…
$ posNeg                   <dbl> 20325, 91933, 49676, 57, 74879, 654985…
$ fips                     <chr> "02", "01", "05", "60", "04", "06", "0…
$ deathIncrease            <dbl> 0, 10, 3, 0, 10, 91, 11, 82, 7, 7, 24,…
$ hospitalizedIncrease     <dbl> 0, 30, 12, 0, 34, 0, 76, 7758, 0, 0, 0…
$ negativeIncrease         <dbl> 1197, 4598, 1231, 54, 2779, 28123, 805…
$ positiveIncrease         <dbl> 9, 139, 66, 0, 314, 1525, 526, 1064, 3…
$ totalTestResultsIncrease <dbl> 1206, 4737, 1297, 54, 3093, 29648, 133…

China Data Lab

The following datasets are from China Data Lab Dataverse at Harvard University. #### US Metropolitan Daily Cases with Basemap Updated to April 27, 2020. Metropolitan level daily cases. There are 926 metropolitans except for the areas in Perto Rico.

China, Data Lab, 2020, “US Metropolitan Daily Cases with Basemap”, https://doi.org/10.7910/DVN/5B8YM8, Harvard Dataverse, V1, UNF:6:7uG7/nVR7uOM5wui70J7XQ== [fileUNF]

USMetroConfirm <- read_csv("data/dataverse_files/us_metro_confirmed_cases.csv")
Parsed with column specification:
cols(
  .default = col_double(),
  FUNCSTAT = col_character(),
  CBSA_TITLE = col_character(),
  MSA_TYPE = col_character(),
  METRO_DIVI = col_character(),
  CSA_TITLE = col_character(),
  MSA_COUNTY = col_character()
)
See spec(...) for full column specifications.
USMetroConfirm
glimpse(USMetroConfirm)
Rows: 926
Columns: 112
$ CBSAFP      <dbl> 10100, 10140, 10180, 10220, 10300, 10420, 10460, 10…
$ CSAFP       <dbl> NA, NA, NA, NA, 220, 184, NA, NA, 440, 104, 172, NA…
$ METDIVFP    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ FUNCSTAT    <chr> "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "…
$ ALAND       <dbl> 4436728163, 4924421612, 2329363242, 1865885645, 194…
$ AWATER      <dbl> 46414613, 834689898, 4898783, 12421414, 30482189, 4…
$ INTPTLAT    <dbl> 45.58925, 47.11373, 32.29315, 34.72144, 41.89602, 4…
$ INTPTLON    <dbl> -98.35217, -123.82673, -99.37225, -96.69197, -84.07…
$ CBSA_TITLE  <chr> "Aberdeen, SD", "Aberdeen, WA", "Abilene, TX", "Ada…
$ MSA_TYPE    <chr> "Micropolitan Statistical Area", "Micropolitan Stat…
$ METRO_DIVI  <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ CSA_TITLE   <chr> NA, NA, NA, NA, "Detroit-Warren-Ann Arbor, MI", "Cl…
$ MSA_COUNTY  <chr> "Central", "Central", "Outlying", "Central", "Centr…
$ Shape__Are  <dbl> 9153797655, 12443502721, 3276447758, 2787376801, 35…
$ Shape__Len  <dbl> 387026.6, 506299.2, 228882.8, 275846.2, 241418.1, 1…
$ `1/22/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1/23/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1/24/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1/25/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1/26/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1/27/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1/28/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1/29/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1/30/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1/31/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/1/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/2/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/3/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/4/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/5/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/6/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/7/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/8/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/9/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/10/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/11/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/12/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/13/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/14/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/15/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/16/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/17/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/18/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/19/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/20/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/21/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/22/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/23/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/24/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/25/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/26/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/27/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/28/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2/29/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `3/1/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `3/2/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `3/3/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `3/4/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `3/5/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `3/6/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `3/7/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, …
$ `3/8/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, …
$ `3/9/2020`  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, …
$ `3/10/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, …
$ `3/11/2020` <dbl> 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, …
$ `3/12/2020` <dbl> 0, 1, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 2, 0, 0, 0, …
$ `3/13/2020` <dbl> 0, 1, 0, 0, 0, 1, 0, 1, 8, 6, 0, 0, 0, 6, 0, 0, 0, …
$ `3/14/2020` <dbl> 0, 1, 0, 0, 0, 2, 0, 1, 9, 9, 0, 0, 0, 8, 0, 0, 0, …
$ `3/15/2020` <dbl> 0, 1, 0, 0, 0, 2, 0, 8, 10, 13, 0, 0, 0, 8, 0, 0, 0…
$ `3/16/2020` <dbl> 0, 1, 0, 0, 0, 2, 0, 8, 10, 21, 0, 0, 0, 16, 0, 0, …
$ `3/17/2020` <dbl> 0, 1, 0, 0, 0, 4, 0, 8, 15, 38, 0, 0, 0, 16, 0, 0, …
$ `3/18/2020` <dbl> 0, 1, 0, 0, 0, 4, 0, 9, 15, 68, 0, 0, 0, 20, 0, 0, …
$ `3/19/2020` <dbl> 0, 1, 0, 0, 0, 6, 0, 23, 18, 86, 0, 0, 0, 24, 0, 1,…
$ `3/20/2020` <dbl> 0, 1, 0, 0, 0, 10, 0, 61, 19, 115, 0, 0, 0, 29, 0, …
$ `3/21/2020` <dbl> 0, 1, 0, 0, 0, 15, 0, 65, 19, 177, 0, 0, 0, 39, 0, …
$ `3/22/2020` <dbl> 1, 1, 0, 0, 0, 24, 0, 72, 19, 230, 0, 0, 0, 41, 1, …
$ `3/23/2020` <dbl> 1, 1, 0, 1, 0, 25, 0, 93, 20, 254, 0, 0, 0, 45, 1, …
$ `3/24/2020` <dbl> 1, 1, 0, 1, 0, 40, 0, 132, 20, 283, 1, 0, 0, 50, 2,…
$ `3/25/2020` <dbl> 2, 1, 0, 1, 1, 47, 0, 152, 25, 304, 1, 0, 1, 56, 4,…
$ `3/26/2020` <dbl> 2, 1, 0, 1, 5, 58, 0, 201, 26, 340, 1, 0, 3, 65, 6,…
$ `3/27/2020` <dbl> 2, 1, 1, 1, 8, 78, 0, 253, 28, 376, 2, 0, 4, 106, 7…
$ `3/28/2020` <dbl> 2, 1, 2, 3, 11, 98, 0, 281, 32, 392, 2, 0, 4, 108, …
$ `3/29/2020` <dbl> 2, 1, 7, 3, 15, 126, 0, 310, 36, 428, 5, 0, 5, 118,…
$ `3/30/2020` <dbl> 3, 1, 7, 3, 15, 150, 0, 354, 36, 448, 5, 0, 6, 147,…
$ `3/31/2020` <dbl> 3, 1, 11, 5, 18, 169, 0, 624, 37, 468, 5, 0, 6, 166…
$ `4/1/2020`  <dbl> 4, 2, 14, 5, 22, 188, 1, 658, 37, 523, 5, 2, 6, 188…
$ `4/2/2020`  <dbl> 6, 2, 14, 5, 24, 214, 2, 700, 37, 554, 5, 5, 7, 211…
$ `4/3/2020`  <dbl> 7, 3, 18, 7, 24, 230, 2, 813, 37, 598, 7, 7, 17, 27…
$ `4/4/2020`  <dbl> 9, 3, 23, 7, 27, 258, 2, 912, 41, 634, 7, 10, 17, 3…
$ `4/5/2020`  <dbl> 9, 6, 27, 7, 31, 268, 3, 921, 43, 664, 7, 10, 26, 3…
$ `4/6/2020`  <dbl> 13, 6, 31, 8, 32, 283, 3, 975, 44, 699, 8, 11, 34, …
$ `4/7/2020`  <dbl> 13, 6, 32, 9, 32, 300, 3, 1329, 45, 736, 8, 14, 40,…
$ `4/8/2020`  <dbl> 13, 7, 40, 9, 36, 319, 3, 1371, 46, 759, 8, 17, 45,…
$ `4/9/2020`  <dbl> 14, 7, 45, 9, 39, 337, 3, 1427, 49, 809, 8, 20, 64,…
$ `4/10/2020` <dbl> 14, 8, 54, 9, 39, 359, 3, 1483, 49, 902, 11, 20, 72…
$ `4/11/2020` <dbl> 14, 11, 58, 9, 43, 377, 3, 1524, 51, 935, 14, 22, 8…
$ `4/12/2020` <dbl> 14, 11, 62, 9, 47, 396, 4, 1618, 52, 990, 16, 24, 9…
$ `4/13/2020` <dbl> 14, 11, 64, 10, 50, 406, 3, 1714, 52, 1029, 17, 24,…
$ `4/14/2020` <dbl> 14, 11, 71, 10, 53, 419, 3, 1788, 52, 1134, 17, 27,…
$ `4/15/2020` <dbl> 15, 12, 77, 10, 56, 452, 3, 1832, 53, 1156, 17, 27,…
$ `4/16/2020` <dbl> 15, 12, 83, 10, 59, 472, 3, 1876, 54, 1214, 19, 28,…
$ `4/17/2020` <dbl> 17, 12, 93, 10, 59, 489, 3, 1912, 57, 1275, 20, 28,…
$ `4/18/2020` <dbl> 18, 12, 130, 10, 62, 508, 3, 1946, 59, 1335, 20, 31…
$ `4/19/2020` <dbl> 20, 12, 146, 10, 64, 526, 3, 1969, 59, 1394, 20, 33…
$ `4/20/2020` <dbl> 20, 12, 148, 10, 65, 550, 3, 1990, 61, 1407, 21, 33…
$ `4/21/2020` <dbl> 20, 12, 148, 10, 71, 571, 3, 2027, 62, 1437, 21, 33…
$ `4/22/2020` <dbl> 27, 12, 168, 10, 77, 612, 3, 2056, 63, 1487, 22, 33…
$ `4/23/2020` <dbl> 28, 12, 190, 10, 80, 653, 4, 2062, 67, 1523, 24, 33…
$ `4/24/2020` <dbl> 28, 12, 199, 10, 80, 673, 4, 2065, 67, 1599, 24, 33…
$ `4/25/2020` <dbl> 30, 12, 217, 10, 82, 689, 4, 2074, 71, 1904, 28, 33…
$ `4/26/2020` <dbl> 30, 12, 230, 10, 82, 705, 4, 2078, 74, 2004, 28, 33…
$ `4/27/2020` <dbl> 30, 12, 236, 10, 84, 721, 4, 2097, 79, 2053, 29, 33…

note Inside the dataverse_files folder, there are datasets on China COVID-19, environmental data in China from 1/1/2020 to 4/21/2020, timeline for policies and regulations in China, and U.S. socioeconomic data from U.S. census bureau. The website also includes datasets on population mobility in China, world COVID-19 data, global news and research papers.

healthChina

The imported file is on health facilities in China, also from China Data Lab.

healthChina <- read.xlsx("data/dataverse_files/Hospitals_by_Province.xlsx",1,header = TRUE)
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.poi.util.SAXHelper (file:/Library/Frameworks/R.framework/Versions/3.6/Resources/library/xlsxjars/java/poi-ooxml-3.10.1-20140818.jar) to constructor com.sun.org.apache.xerces.internal.util.SecurityManager()
WARNING: Please consider reporting this to the maintainers of org.apache.poi.util.SAXHelper
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
healthChina
glimpse(healthChina)
Rows: 32
Columns: 23
$ GbProv           <dbl> 10, 11, 12, 13, 14, 15, 21, 22, 23, 31, 32, 33…
$ ProvCH           <fct> 全国, 北京市, 天津市, 河北省, 山西省, 内蒙古, 辽宁省, 吉林省, 黑龙江省, 上…
$ ProvEN           <fct> Nation, Beijing, Tianjin, Hebei, Shanxi, Neime…
$ Total            <dbl> 684801, 5790, 4498, 70990, 21731, 16441, 29653…
$ 三级甲等医院     <dbl> 13539, 877, 229, 1241, 218, 91, 514, 252, 349, 722, …
$ 专科医院         <dbl> 756, 6, 8, 72, 23, 17, 40, 26, 31, 6, 31, 62, 18, …
$ 传染病医院       <dbl> 1312, 27, 12, 153, 42, 30, 75, 46, 58, 19, 67, 42, …
$ 医疗保健服务场所 <dbl> 210411, 886, 860, 17490, 7266, 5915, 9896, 4420, 6792,…
$ 卫生院           <dbl> 83059, 847, 750, 13146, 1585, 1556, 2326, 997, 12…
$ 口腔医院         <dbl> 69917, 874, 814, 8726, 2434, 1279, 4188, 2074, 248…
$ 妇科医院         <dbl> 4107, 47, 34, 504, 188, 76, 168, 167, 113, 37, 138…
$ 急救中心         <dbl> 5196, 202, 41, 616, 121, 93, 145, 71, 129, 118, 29…
$ 整形美容         <dbl> 8051, 466, 131, 655, 105, 88, 333, 244, 174, 228, …
$ 疾病预防         <dbl> 10283, 140, 62, 1045, 222, 221, 413, 237, 297, 83,…
$ 眼科医院         <dbl> 7250, 97, 68, 1187, 221, 148, 367, 169, 190, 58, 3…
$ 精神病医院       <dbl> 825, 21, 7, 105, 20, 16, 30, 11, 12, 61, 33, 20, 28…
$ 综合医院         <dbl> 68923, 425, 638, 7858, 2148, 1230, 2468, 1170, 177…
$ 耳鼻喉医院       <dbl> 1557, 30, 10, 262, 59, 24, 42, 26, 20, 27, 94, 46, …
$ 肿瘤医院         <dbl> 1110, 49, 17, 135, 28, 15, 44, 26, 29, 31, 88, 60,…
$ 胸科医院         <dbl> 598, 11, 25, 67, 17, 10, 28, 11, 16, 19, 37, 29, 9…
$ 脑科医院         <dbl> 589, 16, 6, 109, 31, 6, 29, 24, 15, 9, 29, 11, 10,…
$ 诊所             <dbl> 190901, 651, 735, 16549, 6806, 5555, 8232, 3620,…
$ 骨科医院         <dbl> 6417, 118, 51, 1070, 197, 71, 315, 199, 164, 36, 2…

IHME

The following data predicts the hospital resources needed for COVID-19 outbreaks at county-level (https://covid19.healthdata.org/united-states-of-america).

IHMEHospital <- read.csv("data/IHME Hospitalization 2020_04_28.02/Hospitalization_all_locs.csv")
IHMEHospital
glimpse(IHMEHospital)
Rows: 29,473
Columns: 31
$ V1            <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15…
$ location_name <fct> Abruzzo, Abruzzo, Abruzzo, Abruzzo, Abruzzo, Abru…
$ location_id   <int> 35507, 35507, 35507, 35507, 35507, 35507, 35507, …
$ date          <fct> 2020-01-06, 2020-01-07, 2020-01-08, 2020-01-09, 2…
$ allbed_mean   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ allbed_lower  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ allbed_upper  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ ICUbed_mean   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ ICUbed_lower  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ ICUbed_upper  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ InvVen_mean   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ InvVen_lower  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ InvVen_upper  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ deaths_mean   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ deaths_lower  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ deaths_upper  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ admis_mean    <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ admis_lower   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ admis_upper   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ newICU_mean   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ newICU_lower  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ newICU_upper  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ totdea_mean   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ totdea_lower  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ totdea_upper  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ bedover_mean  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ bedover_lower <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ bedover_upper <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ icuover_mean  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ icuover_lower <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ icuover_upper <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…

County-level stats from New York Times

The next data is county-level COVID-19 statistics, collected by New York Times (https://www.nytimes.com/interactive/2020/us/coronavirus-us-cases.html), as of 5/3/2020. The same folder also contains U.S. states and U.S. data.

COVIDUSCounty <- read.csv("data/covid-19-data-nytimes/us-counties.csv")
COVIDUSCounty
glimpse(COVIDUSCounty)
Rows: 109,696
Columns: 6
$ date   <fct> 2020-01-21, 2020-01-22, 2020-01-23, 2020-01-24, 2020-01-…
$ county <fct> Snohomish, Snohomish, Snohomish, Cook, Snohomish, Orange…
$ state  <fct> Washington, Washington, Washington, Illinois, Washington…
$ fips   <int> 53061, 53061, 53061, 17031, 53061, 6059, 17031, 53061, 4…
$ cases  <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
$ deaths <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
LS0tCnRpdGxlOiAiQ09WSUQtMTkgRGF0YSBEaXJlY3RvcnkiCm91dHB1dDogaHRtbF9ub3RlYm9vawphdXRob3I6IEFkYSBZZQotLS0KClRoaXMgbm90ZWJvb2sgZG9jdW1lbnRzIENPVklELTE5IHJlbGF0ZWQgZGF0YXNldHMgZm9yIGZ1cnRoZXIgcmVzZWFyY2ggb24gQ09WSUQtMTkgcmVzcG9uc2UgYW5kIG1lZGljYWwgc3lzdGVtcy4gCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoeGxzeCkKYGBgCgojIyMgT3VyIFdvcmxkIGluIERhdGEKT3VyIFdvcmxkIGluIERhdGEgb24gQ09WSUQtMTkgYXMgb2YgNS8yLzIwMjAuIFZpc3VhbGl6YXRpb25zIGFyZSBhdmFpbGFibGUgaW4gdGhlIGxpbmsgaW4gdGhlIGNpdGF0aW9uLiAKCk1heCBSb3NlciwgSGFubmFoIFJpdGNoaWUsIEVzdGViYW4gT3J0aXotT3NwaW5hIGFuZCBKb2UgSGFzZWxsICgyMDIwKSAtICJDb3JvbmF2aXJ1cyBQYW5kZW1pYyAoQ09WSUQtMTkpIi4gUHVibGlzaGVkIG9ubGluZSBhdCBPdXJXb3JsZEluRGF0YS5vcmcuIFJldHJpZXZlZCBmcm9tOiAnaHR0cHM6Ly9vdXJ3b3JsZGluZGF0YS5vcmcvY29yb25hdmlydXMnIFtPbmxpbmUgUmVzb3VyY2VdCgpgYGB7cn0Kb3dpZE94Zm9yZCA8LSByZWFkLmNzdigiZGF0YS9vd2lkLWNvdmlkLWRhdGEuY3N2IikKb3dpZE94Zm9yZApgYGAKYGBge3J9CmdsaW1wc2Uob3dpZE94Zm9yZCkKYGBgCgojIyMgSkhVIENTU0UKVGhpcyBzZWN0aW9uIGltcG9ydHMgdGhlIGRhdGFzZXQgZnJvbSBKb2hucyBIb3BraW5zIENlbnRlciBmb3IgU3lzdGVtcyBTY2llbmNlIGFuZCBFbmdpbmVlcmluZyAoaHR0cHM6Ly9naXRodWIuY29tL0NTU0VHSVNhbmREYXRhL0NPVklELTE5KSBhcyBvZiA0LzMwLzIwMjAuIFRoaXMgaXMgdGhlIGxpbmsgdG8gSkhVJ3MgQ09WSUQtMTkgaW50ZXJhY3RpdmUgZGFzaGJvYXJkOmh0dHBzOi8vY29yb25hdmlydXMuamh1LmVkdQoKVGhlIGRhdGEgc291cmNlcyBpbmNsdWRlIHRoZSBXb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uLCB0aGUgVS5TLiBDZW50ZXJzIGZvciBEaXNlYXNlIENvbnRyb2wgYW5kIFByZXZlbnRpb24sIHRoZSBFdXJvcGVhbiBDZW50ZXIgZm9yIERpc2Vhc2UgUHJldmVudGlvbiBhbmQgQ29udHJvbCwgdGhlIE5hdGlvbmFsIEhlYWx0aCBDb21taXNzaW9uIG9mIHRoZSBQZW9wbGXigJlzIFJlcHVibGljIG9mIENoaW5hLCAxcG9pbnQzYWNyZXMsIFdvcmxkb21ldGVycy5pbmZvLCBCTk8sIHN0YXRlIGFuZCBuYXRpb25hbCBnb3Zlcm5tZW50IGhlYWx0aCBkZXBhcnRtZW50cywgbG9jYWwgbWVkaWEgcmVwb3J0cywgYW5kIHRoZSBEWFksIG9uZSBvZiB0aGUgd29ybGTigJlzIGxhcmdlc3Qgb25saW5lIGNvbW11bml0aWVzIGZvciBwaHlzaWNpYW5zLCBoZWFsdGggY2FyZSBwcm9mZXNzaW9uYWxzLCBwaGFybWFjaWVzIGFuZCBmYWNpbGl0aWVzLgoKVGhpcyBwYXBlciAoaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDE1OTgtMDE5LTM4NjY1LXcpLCBhdXRob3JlZCBieSBKSFUgcmVzZWFyY2hlcnMsIGNvbnN0cnVjdHMgYSBtYXRoZW1hdGljYWwgbW9kZWwgdGhhdCBpbnRlZ3JhdGVzIGJvdGggZXBpZGVtaWMgb3V0YnJlYWtzIGFuZCBvdXRicmVhayBjb250cm9sIGludG8gdGhlIGZyYW1ld29yaywgd2l0aCBhIHByaW1hcnkgZm9jdXMgb24gYm9yZGVyIGNvbnRyb2wsIGkuZS4gcGFzc2VuZ2VyIHNjcmVlbmluZyB1cG9uIGFycml2YWwgYXQgdGhlIGFpcnBvcnRzLiBUaGUgbWFpbiBmaW5kaW5nIGlzIHRoYXQgaW1wbGVtZW50aW5nIGNvbnRyb2wgbWVhc3VyZXMgYWNjb3JkaW5nIHRvIHRoZSBuZXR3b3JrLWRyaXZlbiBzdHJhdGVneSBpcyB0aGUgbW9zdCBlZmZlY3RpdmUgYXQgdGhlIGluaXRpYWwgc3RhZ2Ugb2YgdGhlIG91dGJyZWFrLiBOZXR3b3JrLWRyaXZlbiBzdHJhdGVneSBtZWFucyB0aGF0IGFpcnBvcnRzIHdpdGhpbiB0aGUgZXBpZGltZW9sb2dpY2FsIGluZmVjdGlvbiByYW5nZSBhcmUgaWRlbnRpZmllZCBhbmQgaGF2ZSBjb250cm9sIG1lYXN1cmVzIGltcGxlbWVudGVkLiBQb2xpY3ktbWFrZXJzIGNhbiBpbXByb3ZlIHJlc291cmNlIGFsbG9jYXRpb24gaW4gYSBjb3N0LWVmZmVjdGl2ZSBtYW5uZXIgYnkgY29uc2lkZXJpbmcgdGhlIHJlc2VhcmNoIGZpbmRpbmcuIFRoZSByZXNlYXJjaCBhbHNvIHNob3dzIHRoYXQgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgYm9yZGVyIGNvbnRyb2wgZGVjcmVhc2VzIGFzIHRoZSBvdXRicmVhayBjb250aW51ZXMsIGFuZCBvdGhlciBtZWFzdXJlcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBmcmFtZXdvcmsuIFdoYXQgd29ya3MgYmV0dGVyIGFzIHRoZSBvdXRicmVhayB1bmZvbGRzIGlzIG5vdCBhbnN3ZXJlZCBpbiB0aGlzIHJlc2VhcmNoLiAKCiMjIyMgamh1R2xvYmFsQwoKamh1R2xvYmFsQyAoYXMgYSB2YXJpYWJsZSBuYW1lIGluIHRoaXMgbm90ZWJvb2ssIG5vdCB0aGUgb3JpZ2luYWwgZGF0YXNldCBuYW1lKSBpcyBKSFUgQ1NTRSdzIGRhdGFzZXQgb24gZ2xvYmFsIGNvbmZpcm1lZCBDT1ZJRC0xOSBjYXNlcy4gQXMgc2hvd24gYmVsb3csIGl0IHJlY29yZHMgdGhlIGluY3JlYXNlcyBpbiBudW1iZXIgb2YgY2FzZXMgZGFpbHkgc2luY2UgMS8yMi8yMDIwIGluIHN0YXRlcyBhbmQgcHJvdmluY2VzIGFjcm9zcyBjb3VudHJpZXMsIGFzIHdlbGwgYXMgdGhlIGdlb2dyYXBoaWMgbG9jYXRpb25zIG9mIHJlZ2lvbnMgZm9yIG1hcHBpbmcgY29udmVuaWVuY2UuIAoKYGBge3J9CmpodUdsb2JhbEMgPC0gcmVhZC5jc3YoImRhdGEvQ09WSUQtMTktbWFzdGVyL2Nzc2VfY292aWRfMTlfZGF0YS9jc3NlX2NvdmlkXzE5X3RpbWVfc2VyaWVzL3RpbWVfc2VyaWVzX2NvdmlkMTlfY29uZmlybWVkX2dsb2JhbC5jc3YiKQpqaHVHbG9iYWxDCmBgYAoKYGBge3J9CmdsaW1wc2Uoamh1R2xvYmFsQykKYGBgCgojIyMjIGpodVVTQwoKVGhlIGZvbGxvd2luZyBkYXRhIGlzIG9uIENPVklELTE5IGNvbmZpcm1lZCBjYXNlcyBpbiB0aGUgVS5TLgoKYGBge3J9CmpodVVTQyA8LSByZWFkLmNzdigiZGF0YS9DT1ZJRC0xOS1tYXN0ZXIvY3NzZV9jb3ZpZF8xOV9kYXRhL2Nzc2VfY292aWRfMTlfdGltZV9zZXJpZXMvdGltZV9zZXJpZXNfY292aWQxOV9jb25maXJtZWRfVVMuY3N2IikKamh1VVNDCmBgYAoKYGBge3J9CmdsaW1wc2Uoamh1VVNDKQpgYGAKCiMjIyBDT1ZJRCBUcmFja2luZyBQcm9qZWN0ClUuUy4gdGVzdGluZyByYXRlIGFuZCBob3NwaXRhbGl6YXRpb24gcmF0ZSwgY2l0ZWQgYnkgSkhVLCBpcyBmcm9tIHRoZSBDT1ZJRCBUcmFja2luZyBQcm9qZWN0IChodHRwczovL2NvdmlkdHJhY2tpbmcuY29tKS4gQ09WSUQgVHJhY2tpbmcgUHJvamVjdCdzIGluZm9ybWF0aW9uIGNvbWVzIGZyb20gc3RhdGUgaGVhbHRoIGF1dGhvcml0aWVzLiBCYXNpYyB0ZXN0aW5nIGRhdGEgaXMgcmVsYXRpdmVseSBjb21wbGV0ZSBub3csIHlldCBwYXRpZW50IG91dGNvbWVzIGRhdGEgKGhvc3BpdGFsaXphdGlvbnMsIElDVSBzdGF0dXMsIHZlbnRpbGF0aW9uIHN0YXR1cywgZGVhdGhzLCBhbmQgcmVjb3ZlcmllcykgaXMgbGVzcyBjb25zaXN0ZW50LiAKCk5vdGVzIG9uIHZpc3VhbGl6YXRpb246IAoxLiBFbmNvZGUgYSBwZXIgY2FwaXRhIGNvdW50IGZvciBjaG9yb3BsZXRoIG1hcC4gSWYgeW91IHdhbnQgdG8gc2hvdyBhYnNvbHV0ZSBudW1iZXJzLCB1c2VlIGEgc3ltYm9sIG1hcC4gCjIuIFVzZSBhbiBhYnNvbHV0ZSBtZWFzdXJlIGZvciBkZWF0aCBjb3VudHMuIAoKQ09WSURUcmFja2luZ0hpc3RvcmljUzUxIGRvY3VtZW50cyBVLlMuIHN0YXRlIGhpc3RvcmljIHRlc3RpbmcgYW5kIGhvc3BpdGFsaXphdGlvbiBkYXRhIGFzIG9mIDUvMS8yMDIwLiAKCmBgYHtyfQpDT1ZJRFRyYWNraW5nSGlzdG9yaWNTNTEgPC0gcmVhZC5jc3YoImRhdGEvQ09WSURUcmFja2luZy9kYWlseS5jc3YiKQpDT1ZJRFRyYWNraW5nSGlzdG9yaWNTNTEKYGBgCgpgYGB7cn0KZ2xpbXBzZShDT1ZJRFRyYWNraW5nSGlzdG9yaWNTNTEpCmBgYAoKIyMjIENoaW5hIERhdGEgTGFiClRoZSBmb2xsb3dpbmcgZGF0YXNldHMgYXJlIGZyb20gQ2hpbmEgRGF0YSBMYWIgRGF0YXZlcnNlIGF0IEhhcnZhcmQgVW5pdmVyc2l0eS4gCiMjIyMgVVMgTWV0cm9wb2xpdGFuIERhaWx5IENhc2VzIHdpdGggQmFzZW1hcApVcGRhdGVkIHRvIEFwcmlsIDI3LCAyMDIwLiBNZXRyb3BvbGl0YW4gbGV2ZWwgZGFpbHkgY2FzZXMuIFRoZXJlIGFyZSA5MjYgbWV0cm9wb2xpdGFucyBleGNlcHQgZm9yIHRoZSBhcmVhcyBpbiBQZXJ0byBSaWNvLgoKQ2hpbmEsIERhdGEgTGFiLCAyMDIwLCAiVVMgTWV0cm9wb2xpdGFuIERhaWx5IENhc2VzIHdpdGggQmFzZW1hcCIsIGh0dHBzOi8vZG9pLm9yZy8xMC43OTEwL0RWTi81QjhZTTgsIEhhcnZhcmQgRGF0YXZlcnNlLCBWMSwgVU5GOjY6N3VHNy9uVlI3dU9NNXd1aTcwSjdYUT09IFtmaWxlVU5GXQoKYGBge3J9ClVTTWV0cm9Db25maXJtIDwtIHJlYWQuY3N2KCJkYXRhL2RhdGF2ZXJzZV9maWxlcy91c19tZXRyb19jb25maXJtZWRfY2FzZXMuY3N2IikKVVNNZXRyb0NvbmZpcm0KYGBgCmBgYHtyfQpnbGltcHNlKFVTTWV0cm9Db25maXJtKQpgYGAKCipub3RlKgpJbnNpZGUgdGhlIGRhdGF2ZXJzZV9maWxlcyBmb2xkZXIsIHRoZXJlIGFyZSBkYXRhc2V0cyBvbiBDaGluYSBDT1ZJRC0xOSwgZW52aXJvbm1lbnRhbCBkYXRhIGluIENoaW5hIGZyb20gMS8xLzIwMjAgdG8gNC8yMS8yMDIwLCB0aW1lbGluZSBmb3IgcG9saWNpZXMgYW5kIHJlZ3VsYXRpb25zIGluIENoaW5hLCBhbmQgVS5TLiBzb2Npb2Vjb25vbWljIGRhdGEgZnJvbSBVLlMuIGNlbnN1cyBidXJlYXUuIFRoZSB3ZWJzaXRlIGFsc28gaW5jbHVkZXMgZGF0YXNldHMgb24gcG9wdWxhdGlvbiBtb2JpbGl0eSBpbiBDaGluYSwgd29ybGQgQ09WSUQtMTkgZGF0YSwgZ2xvYmFsIG5ld3MgYW5kIHJlc2VhcmNoIHBhcGVycy4gCgojIyMjIGhlYWx0aENoaW5hClRoZSBpbXBvcnRlZCBmaWxlIGlzIG9uIGhlYWx0aCBmYWNpbGl0aWVzIGluIENoaW5hLCBhbHNvIGZyb20gQ2hpbmEgRGF0YSBMYWIuCgpgYGB7cn0KaGVhbHRoQ2hpbmEgPC0gcmVhZC54bHN4KCJkYXRhL2RhdGF2ZXJzZV9maWxlcy9Ib3NwaXRhbHNfYnlfUHJvdmluY2UueGxzeCIsMSxoZWFkZXIgPSBUUlVFKQpoZWFsdGhDaGluYQpgYGAKCmBgYHtyfQpnbGltcHNlKGhlYWx0aENoaW5hKQpgYGAKCiMjIyBJSE1FClRoZSBmb2xsb3dpbmcgZGF0YSBwcmVkaWN0cyB0aGUgaG9zcGl0YWwgcmVzb3VyY2VzIG5lZWRlZCBmb3IgQ09WSUQtMTkgb3V0YnJlYWtzIGF0IGNvdW50eS1sZXZlbCAoaHR0cHM6Ly9jb3ZpZDE5LmhlYWx0aGRhdGEub3JnL3VuaXRlZC1zdGF0ZXMtb2YtYW1lcmljYSkuIApgYGB7cn0KSUhNRUhvc3BpdGFsIDwtIHJlYWQuY3N2KCJkYXRhL0lITUUgSG9zcGl0YWxpemF0aW9uIDIwMjBfMDRfMjguMDIvSG9zcGl0YWxpemF0aW9uX2FsbF9sb2NzLmNzdiIpCklITUVIb3NwaXRhbApgYGAKCmBgYHtyfQpnbGltcHNlKElITUVIb3NwaXRhbCkKYGBgCgojIyMgQ291bnR5LWxldmVsIHN0YXRzIGZyb20gTmV3IFlvcmsgVGltZXMKVGhlIG5leHQgZGF0YSBpcyBjb3VudHktbGV2ZWwgQ09WSUQtMTkgc3RhdGlzdGljcywgY29sbGVjdGVkIGJ5IE5ldyBZb3JrIFRpbWVzIChodHRwczovL3d3dy5ueXRpbWVzLmNvbS9pbnRlcmFjdGl2ZS8yMDIwL3VzL2Nvcm9uYXZpcnVzLXVzLWNhc2VzLmh0bWwpLCBhcyBvZiA1LzMvMjAyMC4gVGhlIHNhbWUgZm9sZGVyIGFsc28gY29udGFpbnMgVS5TLiBzdGF0ZXMgYW5kIFUuUy4gZGF0YS4gCgpgYGB7cn0KQ09WSURVU0NvdW50eSA8LSByZWFkLmNzdigiZGF0YS9jb3ZpZC0xOS1kYXRhLW55dGltZXMvdXMtY291bnRpZXMuY3N2IikKQ09WSURVU0NvdW50eQpgYGAKCmBgYHtyfQpnbGltcHNlKENPVklEVVNDb3VudHkpCmBgYAoKIyMjIE90aGVyIGhlbHBmdWwgbGlua3M6CjEuIEhvbmcgS29uZyBDT1ZJRC0xOSBkYXRhIGh0dHBzOi8vY2hwLWRhc2hib2FyZC5nZW9kYXRhLmdvdi5oay9jb3ZpZC0xOS96aC5odG1sCgoyLiBJdGFseSBDT1ZJRC0xOSBkYXRhCmh0dHBzOi8vZ2l0aHViLmNvbS9wY20tZHBjL0NPVklELTE5CgozLiBBY2FkZW1pYyBSZXNvdXJjZXMKYS4gTWl0aWdhdGluZyBDT1ZJRC0xOSBvdXRicmVhayB2aWEgaGlnaCB0ZXN0aW5nIGNhcGFjaXR5IGFuZCBzdHJvbmcgdHJhbnNtaXNzaW9uLWludGVydmVudGlvbiBpbiB0aGUgVW5pdGVkIFN0YXRlcwpodHRwczovL3d3dy5tZWRyeGl2Lm9yZy9jb250ZW50LzEwLjExMDEvMjAyMC4wNC4wMy4yMDA1MjcyMHYxCgpRdW90ZXMgZnJvbSBBYnN0cmFjdDogIE1vZGVsaW5nIHJldmVhbHMgdGhhdCBjdXJiaW5nIGludGVyc3RhdGUgdHJhdmVsIHdoZW4gdGhlIGRpc2Vhc2UgaXMgYWxyZWFkeSB3aWRlc3ByZWFkIHdpbGwgbWFrZSBsaXR0bGUgZGlmZmVyZW5jZS4gTWVhbndoaWxlLCBpbmNyZWFzZWQgdGVzdGluZyBjYXBhY2l0eSAoZmFjaWxpdGF0aW5nIGVhcmx5IGlkZW50aWZpY2F0aW9uIG9mIGluZmVjdGVkIHBlb3BsZSBhbmQgcXVpY2sgaXNvbGF0aW9uKSBhbmQgc3RyaWN0IHNvY2lhbC1kaXN0YW5jaW5nIGFuZCBzZWxmLXF1YXJhbnRpbmUgcnVsZXMgYXJlIGVmZmVjdGl2ZSBpbiBhYmF0aW5nIHRoZSBvdXRicmVhay4gVGhlIG1vZGVsaW5nIGhhcyBhbHNvIHByb2R1Y2VkIHN0YXRlLXNwZWNpZmljIGluZm9ybWF0aW9uLiBGb3IgZXhhbXBsZSwgZm9yIE5ldyBZb3JrIGFuZCBNaWNoaWdhbiwgaXNvbGF0aW9uIG9mIHBlcnNvbnMgZXhwb3NlZCB0byB0aGUgdmlydXMgbmVlZHMgdG8gYmUgaW1wb3NlZCB3aXRoaW4gMiBkYXlzIHRvIHByZXZlbnQgYSBicm9hZCBvdXRicmVhaywgd2hlcmVhcyBmb3Igb3RoZXIgc3RhdGVzIHRoaXMgcGVyaW9kIGNhbiBiZSAzLjYgZGF5cy4gVGhpcyBtb2RlbCBjb3VsZCBiZSB1c2VkIHRvIGRldGVybWluZSByZXNvdXJjZXMgbmVlZGVkIGJlZm9yZSBzYWZlbHkgbGlmdGluZyBzdGF0ZSBwb2xpY2llcyBvbiBzb2NpYWwgZGlzdGFuY2luZy4KCmIuIFUuUy4gY291bnR5LWxldmVsIGNoYXJhY3RlcmlzdGljcyB0byBpbmZvcm0gZXF1aXRhYmxlIENPVklELTE5IHJlc3BvbnNlCmh0dHBzOi8vd3d3Lm1lZHJ4aXYub3JnL2NvbnRlbnQvMTAuMTEwMS8yMDIwLjA0LjA4LjIwMDU4MjQ4djEuZnVsbC5wZGYKClRoaXMgcmVzZWFyY2ggZXhhbWluZXMgYSByYW5nZSBvZiBpbnRlcnNlY3RpbmcgYmlvbG9naWNhbCwgZGVtb2dyYXBoaWMgYW5kIHNvY2lvZWNvbm9taWMgZmFjdG9ycyB0aGF0IGRldGVybWluZSBvbmUncyB2dWxuZXJhYmlsaXR5IHRvIENPVklELTE5IGluIHRoZSBVLlMuIFRoZXNlIGZhY3RvcnMgdmFyeSBncmVhdGx5IGFjcm9zcyB0aGUgVS5TLiwgYW5kIHJlZmxlY3QgdGhlIHN0cnVjdHVyYWwgaXNzdWVzIHdpdGhpbiB0aGUgQW1lcmljYW4gc29jaWV0eS4gQml2YXJpYXRlIG1hcHMgKGdyb3VwaW5nIGFnZSBhbmQgcG92ZXJ0eTsgY29tb3JiaWRpdGllcyBhbmQgbGFjayBvZiBoZWFsdGggaW5zdXJhbmNlOyBwcm94aW1pdHksIGRlbnNpdHkgYW5kIGJlZCBjYXBhY2l0eTsgYW5kIHJhY2UgYW5kIGV0aG5pY2l0eSwgYW5kIHByZW1hdHVyZSBkZWF0aCkgYXJlIHByb2R1Y2VkIGluIHRoZSBsaW5rIHRvIG1hcCB0aGUgdHJlbmRzIGRpc2NvdmVyZWQuIAoKNC4gRGF0YSBkaXJlY3RvcnkKaHR0cHM6Ly9jb3ZpZC0xOS5zdGNlbnRlci5uZXQvaW5kZXgucGhwL2RhdGEtYWNjZXNzLwoKNS4gR29vZ2xlIENvbW11bml0eSBNb2JpbGl0eSBSZXBvcnQKaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9jb3ZpZDE5L21vYmlsaXR5LwoKNi4gVGhpcyB2aWRlbyAoaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1PZWczakY1eHM2byZmZWF0dXJlPXlvdXR1LmJlJnQ9MTQ3KSBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiBhbm9ueW1pemVkLCBkYXRhLWRyaXZlbiBtZXRob2RzIHRvIHRyYWNrIENPVklELTE5IHNwcmVhZCBhbmQgZXZhbHVhdGlvbnMgdXNpbmcgT21uaVNjaS4gRGV2aWNlcyBjYW4gYmUgbWFwcGVkIHRvIGZhY2lsaXRhdGUgdGhlIHRyYWNpbmcgb2Ygc3ByZWFkaW5nIHNvdXJjZXMgYW5kIGNvbnRyaWJ1dGUgdG8gcmVsaWVmIGVmZm9ydHMuIFNvbWUgc2FtcGxlIGNvZGVzIGFyZSBvZmZlcmVkIGluIHRoZSB2aWRlbyBvbiBidWlsZGluZyBtb2RlbHMgKGxpbmVhciByZWdyZXNzaW9uKSB0byBhbmFseXplIGZhY3RvcnMgdGhhdCBjb250cmlidXRlIHRvIHRoZSBzcHJlYWQgb2YgQ09WSUQtMTkuIAoKNy4gQ09WSUQtMTkgSG9zcGl0YWwgSW1wYWN0IE1vZGVsIGZvciBFcGlkZW1pY3MgKENISU1FKQpUaGlzIG1vZGVsIGlzIGRldmVsb3BlZCBieSBQcmVkaWN0aXZlIEhlYWx0aGNhcmUgYXQgUGVubiBNZWRpY2luZSB0byBhc3Npc3QgaG9zcGl0YWxzIGFuZCBwdWJsaWMgaGVhbHRoIG9mZmljaWFscyB3aXRoIGhvc3BpdGFsIGNhcGFjaXR5IHBsYW5uaW5nLiBUaGUgbW9kZWwgYW5kIGludHJvZHVjdGlvbiBpcyBhdmFpbGFibGUgaGVyZSAoaHR0cHM6Ly9wZW5uLWNoaW1lLnBobC5pbykuIEl0IGlzIGJhc2VkIG9uIHRoZSBTSVIgbW9kZWwsIGFuZCBicmllZmluZ3Mgb24gdGhpcyBtb2RlbCBjYW4gYmUgZm91bmQgaGVyZSAoaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ29tcGFydG1lbnRhbF9tb2RlbHNfaW5fZXBpZGVtaW9sb2d5I1RoZV9TSVJfbW9kZWwpLiBUaGUgU0lSIG1vZGVsIGRvZXMgbm90IGludm9sdmUgaG9zcGl0YWwgZmFjaWxpdHkgZGF0YXNldHMgb3IgZGVtb2dyYXBoaWNzLgo=